home *** CD-ROM | disk | FTP | other *** search
- /*
- * Copyright (C) 1994, Silicon Graphics, Inc.
- * All Rights Reserved.
- *
- * This is UNPUBLISHED PROPRIETARY SOURCE CODE of Silicon Graphics, Inc.;
- * the contents of this file may not be disclosed to third parties, copied or
- * duplicated in any form, in whole or in part, without the prior written
- * permission of Silicon Graphics, Inc.
- *
- * RESTRICTED RIGHTS LEGEND:
- * Use, duplication or disclosure by the Government is subject to restrictions
- * as set forth in subdivision (c)(1)(ii) of the Rights in Technical Data
- * and Computer Software clause at DFARS 252.227-7013, and/or in similar or
- * successor clauses in the FAR, DOD or NASA FAR Supplement. Unpublished -
- * rights reserved under the Copyright Laws of the United States.
- */
- #include <sys/time.h>
- #include <bstring.h>
- #include "framerate.h"
-
- #define DEFAULT_FRAME_RATE 10
-
- static int frameRate = DEFAULT_FRAME_RATE ;
- static float frameTime = 1.f / DEFAULT_FRAME_RATE ;
- static struct timeval frameStart ;
- static struct timeval frameEnd ;
- static struct timeval startTime ;
-
-
- /* BEGIN PROTOTYPES -S framerate.c */
- /* END PROTOTYPES -S framerate.c */
-
- /*------------------------------------------------------------------------------
- * Set the frame rate.
- *----------------------------------------------------------------------------*/
- void
- setFrameRate(
- int newRate
- )
- {
- if( newRate > 0 )
- {
- frameRate = newRate ;
- frameTime = 1.f / frameRate ;
- }
- }
-
-
-
- /*------------------------------------------------------------------------------
- * Set the start time.
- *----------------------------------------------------------------------------*/
- void
- initTime(
- void
- )
- {
- struct timezone tzp ;
-
- gettimeofday( &startTime, &tzp ) ;
- }
-
-
-
- /*------------------------------------------------------------------------------
- * Return the elapsed time since start time was called.
- *----------------------------------------------------------------------------*/
- float
- gameTime(
- void
- )
- {
- struct timeval now ;
- struct timezone tzp ;
-
- gettimeofday( &now, &tzp ) ;
-
- return( (float)( ( now.tv_sec - startTime.tv_sec ) +
- ( now.tv_usec - startTime.tv_usec ) / 1000000.f ) ) ;
- }
-
-